#include <algorithm>
#include <iostream>
#include <vector>

inline auto ipow(long long int a, int n) {
    auto power = a;
    for (int i = 1; i < n; ++i) { power *= a; }
    return power;
}

class SolveLastNString {
public:
    static auto solve(int length, int n) {
        auto s = std::string(length, 'a');        
        auto it = s.rbegin();

        auto num = ipow(26, length) - n;

        std::for_each(s.rbegin(), s.rend(), [&num](auto & val){
            val += num % 26;
            num /= 26;
        });

        return s;
    }
};

int main() {
    int L, N;

    std::cin >> L >> N;
    
    std::cout << SolveLastNString::solve(L, N) << "\n";
}
